/*
 * @Author: your name
 * @Date: 2022-03-11 11:41:10
 * @LastEditTime: 2022-04-07 11:19:16
 * @LastEditors: Please set LastEditors
 * @FilePath: \VUE\app\src\main.js
 */
import Vue from 'vue'
import App from './App.vue'
//引入路由
import router from '@/router'
import { Button,MessageBox } from 'element-ui'


//引入iconfont
import icon from '../src/assets/icon/iconfont.css'
import icon2 from '../src/assets/icon2/iconfont.css'

//引入图片懒加载模块
import VueLazyload from 'vue-lazyload'

//引入全局组件
import typeNav from '@/components/TypeNav'
import Carousel from '@/components/Carousel'
import Pagination from '@/components/Pagination'

//统一接收api下所有接口方法
import * as API from '@/api'
//引入表单验证模块
import veeValidate from 'vee-validate'
//表单验证的中文提示信息
import zh_CN from 'vee-validate/dist/locale/zh_CN'

//使用全局组件 第一个参数组件名字，第二个参数那个组件
Vue.component(typeNav.name,typeNav)
Vue.component(Carousel.name,Carousel)
Vue.component(Pagination.name,Pagination)
//讲按需引入的element ui 注册为全局组件
Vue.component(Button.name,Button)
//引入element ui 
Vue.prototype.$msgbox = MessageBox;
Vue.prototype.$alert = MessageBox.alert;



//引入store
import store from '@/store'

//yinrumock模拟数据轮播和热卖电器json数据
import '@/mock/mockServe'

//引入swiper样式
import 'swiper/css/swiper.css'
import logo from '@/assets/logo.png'
//使用图片懒加载 方法1
Vue.use(VueLazyload,{
  loading:logo
})
//使用表单验证模块
Vue.use(veeValidate)
//表单验证配置信息
VeeValidate.Validator.localize('zh_CN', {
  messages: {
    //使用中文提示
  ...zh_CN.messages,
  is: (field) => `${field}必须与密码相同` // 修改内置规则的 message，让确认密码和密码相同
  },
  attributes: { // 给校验的 field 属性名映射中文名称
  phone: '手机号',
  code: '验证码',
  password:'密码',
  password1:'确认密码',
  isCheck:'协议'
  }
  })

Vue.config.productionTip = false
new Vue({
  render: h => h(App),
  //全局事件总线$bus配置
  beforeCreate(){
    Vue.prototype.$bus = this
    //挂载所有接口api再vue的原型上
    Vue.prototype.$API = API
  },
  //注册路由：底下的写法KV一致省略V[router小写的]u
  router,
  store,
}).$mount('#app')
